rabbitmq链接超时 |
您所在的位置:网站首页 › rabbitmq 心跳 heartbeat › rabbitmq链接超时 |
我正在使用RabbitMQ生产者向消费者发送长时间运行的任务(30分钟).问题是,当关闭服务器的连接并且未确认的任务被重新排队时,消费者仍在处理任务. 从研究中我了解到heartbeat或increased connection timeout都可以用来解决这个问题.这两种解决方案在尝试时都会出错.在阅读类似帖子的答案时,我还了解到,自发布答案以来已经对RabbitMQ实施了许多更改(例如,默认心跳超时已从RabbitMQ 3.5.5之前的580更改为60). 指定心跳和阻止的连接超时时: credentials = pika.PlainCredentials('user', 'password') parameters = pika.ConnectionParameters('XXX.XXX.XXX.XXX', port, '/', credentials, blocked_connection_timeout=2000) connection = pika.BlockingConnection(parameters) channel = connection.channel() 显示以下错误: TypeError: __init__() got an unexpected keyword argument 'blocked_connection_timeout' 在连接参数中指定heartbeat_interval = 1000时,会显示类似的错误:TypeError:__ init __()得到意外的关键字参数’heartbeat_interval’ 类似地,对于socket_timeout = 1000,会显示以下错误:TypeError:__ init __()得到一个意外的关键字参数’socket_timeout’ 我在Ubuntu 14.04上运行RabbitMQ 3.6.1,pika 0.10.0和python 2.7. >为什么上述方法会产生错误? >在持续长时间运行的任务中,是否可以使用心跳方法?例如,在执行需要30分钟的大型数据库连接时,是否可以使用心跳?我赞成心跳方法,很多时候很难判断数据库连接等任务需要多长时间. 我已经阅读了类似问题的答案 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |